package modelo;
// default package
// Generated 22/10/2014 20:11:51 by Hibernate Tools 4.0.0

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Salon generated by hbm2java
 */
@Entity
@Table(name = "salon", catalog = "eventos_compartidos")
public class Salon implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -6448588156901250977L;
	private Integer idSalon;
	private Domicilio domicilio;
	private Persona persona;
	private String nombreSalon;
	private Set<Telefonosalon> telefonosalons = new HashSet<Telefonosalon>(0);
	private Set<Servicioadicionalxsalon> servicioadicionalxsalons = new HashSet<Servicioadicionalxsalon>(
			0);
	private Set<Combobebidaxpresupuesto> combobebidaxpresupuestos = new HashSet<Combobebidaxpresupuesto>(
			0);
	private Set<Combobebidaxsalon> combobebidaxsalons = new HashSet<Combobebidaxsalon>(
			0);
	private Set<Menu> menus = new HashSet<Menu>(0);
	private Set<Cita> citas = new HashSet<Cita>(0);
	private Set<Caracteristicaxsalon> caracteristicaxsalons = new HashSet<Caracteristicaxsalon>(
			0);
	private Set<Tipoevento> tipoeventos = new HashSet<Tipoevento>(0);

	public Salon() {
	}

	public Salon(Persona persona, String nombreSalon) {
		this.persona = persona;
		this.nombreSalon = nombreSalon;
	}

	public Salon(Domicilio domicilio, Persona persona, String nombreSalon,
			Set<Telefonosalon> telefonosalons,
			Set<Servicioadicionalxsalon> servicioadicionalxsalons,
			Set<Combobebidaxpresupuesto> combobebidaxpresupuestos,
			Set<Combobebidaxsalon> combobebidaxsalons, Set<Menu> menus,
			Set<Cita> citas, Set<Caracteristicaxsalon> caracteristicaxsalons,
			Set<Tipoevento> tipoeventos) {
		this.domicilio = domicilio;
		this.persona = persona;
		this.nombreSalon = nombreSalon;
		this.telefonosalons = telefonosalons;
		this.servicioadicionalxsalons = servicioadicionalxsalons;
		this.combobebidaxpresupuestos = combobebidaxpresupuestos;
		this.combobebidaxsalons = combobebidaxsalons;
		this.menus = menus;
		this.citas = citas;
		this.caracteristicaxsalons = caracteristicaxsalons;
		this.tipoeventos = tipoeventos;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "idSalon", unique = true, nullable = false)
	public Integer getIdSalon() {
		return this.idSalon;
	}

	public void setIdSalon(Integer idSalon) {
		this.idSalon = idSalon;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "domicilio")
	public Domicilio getDomicilio() {
		return this.domicilio;
	}

	public void setDomicilio(Domicilio domicilio) {
		this.domicilio = domicilio;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "idPersona", nullable = false)
	public Persona getPersona() {
		return this.persona;
	}

	public void setPersona(Persona persona) {
		this.persona = persona;
	}

	@Column(name = "nombreSalon", nullable = false, length = 200)
	public String getNombreSalon() {
		return this.nombreSalon;
	}

	public void setNombreSalon(String nombreSalon) {
		this.nombreSalon = nombreSalon;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "salon")
	public Set<Telefonosalon> getTelefonosalons() {
		return this.telefonosalons;
	}

	public void setTelefonosalons(Set<Telefonosalon> telefonosalons) {
		this.telefonosalons = telefonosalons;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "salon")
	public Set<Servicioadicionalxsalon> getServicioadicionalxsalons() {
		return this.servicioadicionalxsalons;
	}

	public void setServicioadicionalxsalons(
			Set<Servicioadicionalxsalon> servicioadicionalxsalons) {
		this.servicioadicionalxsalons = servicioadicionalxsalons;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "salon")
	public Set<Combobebidaxpresupuesto> getCombobebidaxpresupuestos() {
		return this.combobebidaxpresupuestos;
	}

	public void setCombobebidaxpresupuestos(
			Set<Combobebidaxpresupuesto> combobebidaxpresupuestos) {
		this.combobebidaxpresupuestos = combobebidaxpresupuestos;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "salon")
	public Set<Combobebidaxsalon> getCombobebidaxsalons() {
		return this.combobebidaxsalons;
	}

	public void setCombobebidaxsalons(Set<Combobebidaxsalon> combobebidaxsalons) {
		this.combobebidaxsalons = combobebidaxsalons;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "salon")
	public Set<Menu> getMenus() {
		return this.menus;
	}

	public void setMenus(Set<Menu> menus) {
		this.menus = menus;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "salon")
	public Set<Cita> getCitas() {
		return this.citas;
	}

	public void setCitas(Set<Cita> citas) {
		this.citas = citas;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "salon")
	public Set<Caracteristicaxsalon> getCaracteristicaxsalons() {
		return this.caracteristicaxsalons;
	}

	public void setCaracteristicaxsalons(
			Set<Caracteristicaxsalon> caracteristicaxsalons) {
		this.caracteristicaxsalons = caracteristicaxsalons;
	}

	@ManyToMany(fetch = FetchType.LAZY, mappedBy = "salons")
	public Set<Tipoevento> getTipoeventos() {
		return this.tipoeventos;
	}

	public void setTipoeventos(Set<Tipoevento> tipoeventos) {
		this.tipoeventos = tipoeventos;
	}

}
